// import * as dateFns from 'date-fns'

/**
 * 时间格式化
 *
 */
export function dateFormat(dateObj, fmt = 'yyyy-MM-dd HH:mm:ss') {
	if (!dateObj) { 
		return '' 
	}
	try {
		if (typeof dateObj === 'string') {
		  dateObj = new Date(dateObj)
		}
	  const o = {
		'M+': dateObj.getMonth() + 1, // 月份
		'd+': dateObj.getDate(), // 日
		'H+': dateObj.getHours(), // 小时
		'm+': dateObj.getMinutes(), // 分
		's+': dateObj.getSeconds(), // 秒
		'q+': Math.floor((dateObj.getMonth() + 3) / 3), // 季度
		S: dateObj.getMilliseconds(), // 毫秒
	  };
	
	  if (/(y+)/.test(fmt)) { fmt = fmt.replace(RegExp.$1, (`${dateObj.getFullYear()}`).substr(4 - RegExp.$1.length)); }
	  for (const k in o) {
		if (new RegExp(`(${k})`).test(fmt)) { fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : ((`00${o[k]}`).substr((`${o[k]}`).length))); }
	  }
	  return fmt;
		// return dateFns.format(dateObj, dateFormat)
	} catch (error) {
		console.error(error)
		return dateObj
	}
}

/**
 * 选项过滤
 * @param {*} val  值
 * @param {*} options 选项值
 * @param {*} labelKey  选项的展示值key
 * @param {*} valueKey  选项的值key
 */
export function optionsFilter(val, options = [], labelKey = 'label', valueKey = 'value', defaultValue = '') {
	let opt
	if (Array.isArray(options)) {
		opt = options.find(x => x[valueKey] === val)
	}
	return opt ? opt[labelKey] : val || defaultValue
}